package com.usermanage.Service;

import com.usermanage.beanParam.GroupBean;
import com.usermanage.beanParam.GroupParam;
import com.usermanage.util.JsonData;

import java.util.List;
import java.util.Map;
import java.util.Optional;

/**
 * Created by 過客 on 2018/8/10
 */
public interface GroupService {
    /**
     * 根据用户id得到用户组列表
     * @return
     */
    List<GroupBean> getUserGroupListByUserId();

    /**
     * 根据uuid得到所有组列表
     * @return
     */
    List<GroupBean> getAllByCompanyId(String key,String page,String size);

    /**
     * 根据uuid得到所有组列表数量
     * @param key
     * @return
     */
    int  getAllCountByGroupUuid(String key);
    /**
     * 根据id得到组详情
     * @param id
     * @return
     */
    Optional<GroupBean> findById(int id);

    /**
     * 验证组是否存在
     * @param bean
     * @return
     */
    Boolean isExist(GroupBean bean);

    /**
     * 保存一条组数据
     * @param bean
     * @return
     */
    GroupBean save(GroupBean bean);

    /**
     * 根据id删除一条数据
     * @param id
     */
    void deleteById(int id);

    /**
     * 获取角色select数据
     * @param bean
     * @return
     */
    List<GroupBean> findAllForSelect(GroupBean bean);


}
